IF exists(SELECT * FROM dbo.sysobjects WHERE name='opdrachtVeranderingen' AND xtype='V') 
BEGIN
	DROP VIEW opdrachtVeranderingen
END
GO

create view opdrachtVeranderingen
as
select ler.naamcode from
  (select l.klas 
   from leerlingen..leerlingen as l
   left join leerlingen..leerlingenGisteren as lg
   	on l.inschrijvingsNr = lg.inschrijvingsNr
  	where lg.klas is null 
		or not(l.klas = lg.klas) 
		  or not(l.voornaam=lg.voornaam) 
		    or not(l.achternaam=lg.achternaam)) as lln
  left join leraars .. ambtsverdeling as ler
  on ler.klas = lln.klas
   where ler.naamcode is not null
union
select ler.naamcode from
  (select lg.klas 
   from leerlingen..leerlingenGisteren as lg
   left join leerlingen..leerlingen as l
  	on l.inschrijvingsNr = lg.inschrijvingsNr
  	where l.klas is null 
		or not(l.klas = lg.klas)
		  or not(l.voornaam=lg.voornaam) 
		    or not(l.achternaam=lg.achternaam)) as lln
   left join leraars .. ambtsverdeling as ler
   on ler.klas = lln.klas
   where ler.naamcode is not null

union

select l.naamcode 
 from leraars..leraars as l
  left join leraars..leraarsGisteren as lg
  on l.naamcode = lg.naamcode
  where lg.naamcode is null
union
select lg.naamcode 
 from leraars..leraarsGisteren as lg
  left join leraars..leraars as l
  on l.naamcode = lg.naamcode
  where l.naamcode is null
union
select nieuw.naamcode from
  (select distinct l.naamcode,a.klas 
   from leraars..leraars as l
      left join leraars..ambtsverdeling as a
      on l.naamcode = a.naamcode
	where a.klas is not null) as nieuw
left join
  (select distinct l.naamcode,a.klas 
   from leraars..leraarsGisteren as l
  	left join leraars..ambtsverdelingGisteren as a
  	on l.naamcode = a.naamcode
	where a.klas is not null) as oud
on nieuw.naamcode = oud.naamcode and nieuw.klas = oud.klas
where nieuw.naamcode is not null and oud.naamcode is null

union

select oud.naamcode from
(select distinct l.naamcode,a.klas 
 from leraars..leraarsGisteren as l
  left join leraars..ambtsverdelingGisteren as a
  on l.naamcode = a.naamcode
  where a.klas is not null) as oud
left join
(select distinct l.naamcode,a.klas 
 from leraars..leraars as l
  left join leraars..ambtsverdeling as a
  on l.naamcode = a.naamcode
  where a.klas is not null) as nieuw
on nieuw.naamcode = oud.naamcode and nieuw.klas = oud.klas
where oud.naamcode is not null and nieuw.naamcode is null